home *** CD-ROM | disk | FTP | other *** search
/ Champak 141 / (Vol 141) Oct 17 2011.iso / Games / Clueless.swf / scripts / Common / FastMath.as next >
Encoding:
Text File  |  2011-10-17  |  1.6 KB  |  67 lines

  1. package Common
  2. {
  3.    import flash.geom.Point;
  4.    
  5.    public class FastMath
  6.    {
  7.       
  8.       public static const PIOVER180:Number = 0.0174603;
  9.       
  10.       public static var sinTable:Array = new Array(360);
  11.        
  12.       
  13.       public function FastMath()
  14.       {
  15.          super();
  16.       }
  17.       
  18.       public static function variance(param1:Number, param2:Number, param3:Number = 1) : Number
  19.       {
  20.          return param1 - param2 * param3 + Math.random() * param2;
  21.       }
  22.       
  23.       public static function degToRad(param1:Number) : Number
  24.       {
  25.          return param1 * PIOVER180;
  26.       }
  27.       
  28.       public static function cos(param1:int) : Number
  29.       {
  30.          return sin(90 - param1);
  31.       }
  32.       
  33.       public static function lerp(param1:Number, param2:Number, param3:Number) : *
  34.       {
  35.          return param1 + (param2 - param1) * param3;
  36.       }
  37.       
  38.       public static function magDir(param1:Number, param2:int) : Point
  39.       {
  40.          return new Point(param1 * FastMath.sin(param2),param1 * FastMath.cos(param2));
  41.       }
  42.       
  43.       public static function initTable() : *
  44.       {
  45.          var _loc1_:int = 0;
  46.          _loc1_ = 360;
  47.          while(--_loc1_ != -1)
  48.          {
  49.             sinTable[_loc1_] = Math.sin(degToRad(_loc1_));
  50.          }
  51.       }
  52.       
  53.       public static function sin(param1:int) : Number
  54.       {
  55.          if(param1 > 360)
  56.          {
  57.             param1 %= 360;
  58.          }
  59.          else if(param1 < 0)
  60.          {
  61.             param1 = 360 - Math.abs(param1 % 360);
  62.          }
  63.          return sinTable[param1];
  64.       }
  65.    }
  66. }
  67.